Solution separation method and apparatus for ground-augmented global positioning system

ABSTRACT

Global positioning systems (GPSs) estimate positions of vehicles based on signals from earth-orbiting satellite transmitters. For accuracy and reliability reasons, these systems have traditionally not be used for critical phases of aircraft navigation and guidance, such as aircraft landings. However, recent years have seen the development of ground-augmented GPS systems for use in automatic landing systems. These augmented systems rely on broadcast correction data to correct positions estimates, or solutions, and thus provide more accurate position solutions. Unfortunately, the conventional methods of measuring accuracy in these augmented systems cannot adequately cope with loss of correction data or satellite signals and thus lead to more aborted landings than acceptable. Accordingly, the inventor devised a ground-augmented GPS system that incorporates a better method for determining the accuracy of its position solution. One exemplary embodiment determines a main position solution and one or more position subsolutions, with the main solution using all broadcast correction data and each subsolution using a respective subset of the correction data. Differences or separations between the main position solution and the subsolution are then used to determine accuracy, or protection, limits for the main position solution. Another embodiment uses Kalman filters to incorporate vehicle motion data into the calculation of the main solution and the subsolutions, enabling the determination of protection limits during periods lost GPS or correction data.

TECHNICAL FIELD

[0001] The present invention concerns the problem of improving reliability of radio navigation and guidance systems, particularly ground-augmented or differential global positioning systems.

BACKGROUND OF THE INVENTION

[0002] A global positioning system (GPS) measures the three-dimensional, global position of a radio receiver, using the distances between the radio receiver and a number of earth-orbiting satellite transmitters. The receiver, usually mounted to a vehicle such as a commercial passenger aircraft, receives signals from the satellite transmitters. Each signal indicates both the position of its transmitter and its transmission time, enabling the receiver, equipped with its own clock, to approximate signal transit times and to estimate the distances to the transmitters. A processor coupled to the receiver uses at least four of these distances, known as pseudoranges, to approximate or estimate the position of the receiver and the associated vehicle. The accuracy of these estimates, or position solutions, depends on a number of factors, for example, changing atmospheric conditions and performance of individual satellite transmitters.

[0003] In commercial aircraft navigation and guidance, global positioning systems (GPSs) have traditionally been used only for determining position of an aircraft during non-critical portions of a flight, that is, between takeoff and landing. However, in recent years, researchers have started extending GPSs for use during landings.

[0004] These extended systems have taken the form of ground-augmented or differential global positioning systems which typically include two to four ground-based GPS receivers and a ground-based differential correction processor (DCP) and a correction-data transmitter, all located around an aircraft landing area. (These systems are sometimes called GPS-based Local-Area-Augmentation Systems, or GPS-based LAASs.) The ground-based GPS receivers, each with a known position, work as normal GPS receivers in determining respective sets of pseudoranges based on signals from at least four earth-orbiting satellite transmitters. These pseudoranges are fed to the ground-based DCP, which uses them and the known positions of the ground receivers to determine correction data. The correction-data transmitter then transmits to aircraft approaching the landing area. These approaching aircraft use the correction data to correct position estimates of on-board GPS receivers, providing better position solutions than possible using their on-board GPS receivers alone.

[0005] These corrected position solutions are then compared to a reference landing path to determine course deviations necessary to ensure the aircraft follows the reference landing path. The course deviations are input to an autopilot system which guides the aircraft during automatic landings. For the autopilot system to function within safety limits set by the Federal Aviation Administration, the position estimates are required to stay within minimum accuracy limits known as vertical and horizontal alert limits. Failure to stay within accuracy limits causes issuance of an alert, signaling a pilot to abort the automatic landing and to restart the landing process.

[0006] Unfortunately, conventional methods of determining the accuracy of the corrected position estimates lack the ability to cope with loss of satellite signal receptions or correction data stemming from ionospheric effects, unintentional jamming, satellite failures, or fading of correction-data transmissions. As a result, systems using these methods are prone to more aborted landing attempts than acceptable.

[0007] Accordingly, there is a need for better ways of determining accuracy in ground-augmented or differential global positioning systems.

SUMMARY OF THE INVENTION

[0008] To address this and other needs, the inventor devised a ground-augmented (or differential) navigation and guidance system that incorporates a unique method for determining the accuracy of its position solution. In a first exemplary embodiment, the system includes a receiver for receiving signals from several satellite transmitters and a processor for determining a main position solution and one or more position subsolutions. The main position solution incorporates a set of pseudoranges corrected using all available correction data from a ground transmitter, and each subsolution based on a subset of the available correction data. Differences or separations between the main position solution and the subsolution are then used to determine accuracy or protection limits for the main position solution.

[0009] In a second exemplary embodiment, the navigation system further includes inertial sensors, for example, accelerometers and gyroscopes, for providing vehicle motion data to the processor. The processor uses Kalman filters to determine the main position solution, subsolutions, protection limits, and course deviations from the motion data as well as past and present values of the satellite and/or correction-data signals.

[0010] Adding motion data further improves reliability, because the processor can compute protection limits during brief periods when there is insufficient data for computing the position solution. In a sense, the Kalman filters and the motion data enable the processor to build up “momentum” for coasting through periods of lost GPS or differential correction information.

BRIEF DESCRIPTION OF THE DRAWINGS

[0011]FIG. 1 is a block diagram of a first exemplary navigation and guidance system 100 incorporating the present invention.

[0012]FIG. 2 is a flow chart illustrating a first exemplary method of operating the system of FIG. 1 according to the present invention.

[0013]FIG. 3 is a block diagram of a second exemplary navigation and guidance system 300 incorporating the present invention.

[0014]FIG. 4 is a flow chart showing an exemplary method of operating the system of FIG. 3 according to the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0015] The following detailed description, which references and incorporates FIGS. 1-4, describes and illustrates specific embodiments of the invention. These embodiments, offered not to limit but only to exemplify and teach the concepts of the invention, are shown and described in sufficient detail to enable those skilled in the art to implement or practice the invention. Thus, where appropriate to avoid obscuring the invention, the description may omit certain information known to those of skill in the art.

[0016] As used herein, the term “pseudorange” includes smoothed pseudoranges and carrier-propagated pseudoranges. Also, the term “pseudorange corrections” includes corrections to smoothed pseudoranges and corrections to carrier-propagated pseudoranges. Carrier-propagated pseudoranges are pseudoranges that are updated using only carrier measurments, not code measurments. The exemplary embodiments use smoothed pseudoranges; however, other embodiments substitute carrier propagated pseudoranges using differential carrier corrections.

[0017] First Exemplary Embodiment

[0018]FIG. 1 shows a differential radio navigation system 100 incorporating teachings of the present invention. The system includes several moving transmitters 1-N, several GPS ground receivers 1-M, a differential-correction processor (DCP) 110, a ground-correction transmitter 120, a GPS vehicle receiver 130, a landing unit 140, and an autopilot system 150. Vehicle receiver 130, landing unit 140, and autopilot system 150 are mounted to an aircraft or other vehicle (not shown.)

[0019] Transmitters 1-N, in the exemplary embodiment, are a subset of the NAVSTAR GPS constellation of satellite transmitters, with each transmitter visible from respective antennas of ground receivers 1-M and vehicle receiver 130. Transmitters 1-N broadcast N respective signals indicating respective transmitter positions and signal transmission times to ground (or local-area) receivers 1-M and to vehicle receiver 130, which use the signals to determine respective pseudoranges for the ground receivers and the vehicle receiver.

[0020] Although the satellites transmit their positions in World Geodetic System of 1984 (WGS-84) coordinates, a Cartesian earth-centered earth-fixed system, the exemplary embodiment determines the position solutions in a local reference frame RLV, which is level with the north-east coordinate plane and tangential to the Earth. This frame choice has a first direction (R) parallel to a given landing runway, a second direction (L) lateral, or cross-track, to the first direction, and a third direction (V) vertical relative to first and second directions. However, frame choice is not critical, since it is well-understood how to transform coordinates from one frame to another.

[0021] Differential correction processor 110 receives the pseudoranges from the GPS ground receivers and determines correction data, which correction-data transmitter 130 transmits to a correction-data receiver 142, within landing unit 140. Landing unit 140 also includes a processor 144 and a memory 146. Memory 146 stores one or more software modules 146 a which govern operation of processor 144 in accord with the present invention. (The invention is not limited to any form, type, or number of receivers, transmitters, processors, or memory.)

[0022] Processor 144 uses the correction data from transmitter 120 and the pseudoranges from vehicle receiver 130 to determine a main position solution and one or more position subsolutions. The main position solution is differentially corrected using all the correction data, and the position subsolutions are differentially corrected based on subsets of the correction data. Processor 144 uses the main solution and the subsolutions to compute vertical and lateral (or horizontal) protection limits, which it compares to vertical and lateral alert limits. The exemplary embodiment uses alert limits for a particular weather minimum, such as Category I, II, or III as defined by the Federal Aviation Administration. (For more details on these limits, see RTCA publication D0-245, which is incorporated herein by reference.) If either protection limit falls outside its respective alert limit, the processor signals an integrity failure to the cockpit of the aircraft.

[0023] Additionally, the processor uses the main position solution to calculate and output angular and/or linear course deviations or corrections relative a reference path to autopilot system 150. System 150 in turn generates signals for actuators (not shown), to correct the flight path of the aircraft.

[0024] More particularly, FIG. 2 shows an exemplary flow chart 200, illustrating operation of system 100 and especially processor 144 in accord with software modules or computer programs 146 a. Flow chart 200 includes blocks 202-222, which are executed serially or in parallel in the exemplary embodiment. Some embodiments organize the exemplary process using a greater or lesser number of blocks. Other embodiments implement the blocks as two or more specific interconnected hardware modules with related control and data signals communicated between and through the modules. Thus, the exemplary process flow is applicable to software, firmware, and hardware implementations. In most, if not all instances, the process sequence can be varied from the order shown and described.

[0025] At block 202, exemplary operation begins with processor 144 obtaining a set of N pseudoranges from GPS vehicle receiver 130 and correction data from correction-data receiver 142. The correction data can take any form that facilitates or enables the processor to correct or adjust one or more of the N pseudoranges. For example, in one embodiment, this data includes (N×M) pseudoranges and the known positions of the M ground receivers, allowing processor 144 to compute its own differential corrections for the N pseudoranges of the vehicle receiver.

[0026] In the exemplary embodiment, correction-data transmitter 120 transmits correction data, twice per second, for each of the N satellite transmitters, with each set of correction data taking the form shown in the following table: Data Content Bits Range Resolution Ranging Source 8 1-255 1 Issue of Data 8 0-255 1 Pseudorange Correction 16  +/−327.67 m 0.01 m Correction Rate 16  +/−32.767 m/s 0.001 m/s σ_(pr) _(—) gnd 8 0-5.08 m 0.02 m B₁ 8 +/−6.35 m 0.05 m B₂ 8 +/−6.35 m 0.05 m . . . . . . . . . . . . B_(M) 8 +/−6.35 m 0.05 m

[0027] Of specific interest to the exemplary embodiment are the psuedorange correction, the B values (B₁-B_(M)), and σ_(pr) _(—) _(gnd). The psuedorange correction of the n-th satellite transmitter is defined as the average of the differential psuedorange corrections for the M ground receivers, or mathematically as $\begin{matrix} {{\delta\rho}_{n} = {\frac{1}{M}{\sum\limits_{1}^{M}{\delta\rho}_{n,m}}}} & (1) \end{matrix}$

[0028] where δρ_(n) denotes the differential correction for the n-th satellite transmitter, M denotes the number of ground receivers, and δρ_(n,m) denotes the differential pseudorange correction for the n-th satellite transmitter at the m-th ground receiver. The B values for the n-th satellite transmitter are defined as $\begin{matrix} {B_{n,k} = {{\delta\rho}_{n} - {\frac{1}{M - 1}{\sum\limits_{m \neq k}^{M}{\delta\rho}_{n,m}}}}} & (2) \end{matrix}$

[0029] where B_(n, k) denotes the k-th B value for the n-satellite; the summation is over all M except for m=k; and k ranges from 1 to M. σ_(pr) _(—) _(gnd) denotes the Gaussian distribution that overbounds the error in the broadcast correction and depends on the elevation of the satellite, observed signal-to-noise ratio (S/N₀), and convergence status.

[0030] In block 204, the processor defines M+1 different N-element correction vectors δρ⁰-δρ^(M), based on the full set of N differential corrections for each ground receiver M. The full set of N differential corrections are derived from the M different B values for each of the N satellites. δρ⁰, the main correction vector, is defined as

δρ⁰=[δρ₁, δρ₂, . . . , δρ_(N)]^(T)  (3)

[0031] where each element δρ_(n) denotes a uniform or nonuniform weighted average of the differential corrections from all the ground receivers 1 to M for the n-th satellite transmitter. δρ^(m) (for m=1 to M) is defined as

δρ^(m)=[δρ_(1, m), δρ_(2, m), . . . , δρ_(N, m)]^(T)  (4)

[0032] where element δρ_(n, m) is defined as a uniform or non-uniform weighted average of all but the m-th differential correction for the n-th satellite. Thus, each element δρ_(n, m) excludes correction information from the m-th ground receiver. Mathematically, this is expressed as $\begin{matrix} {{\delta\rho}_{n,k} = {\frac{1}{M - 1}{\sum\limits_{m \neq k}^{M}{c_{k}{\delta\rho}_{n,m}}}}} & (5) \end{matrix}$

[0033] where n denotes the n-th satellite and ranges from 1 to N; k ranges from 1 to M; and c_(k) denotes a respective weight, which in the exemplary embodiment is unity.

[0034] Block 206 entails forming an N-element measurement vector ρ_(meas) of pseudoranges from vehicle receiver 130 and “linearizes” it around an initial estimate of the position solution and an initial receiver clock offset estimate. The linearized measurement vector, denoted Δρ_(meas), is defined according to

Δρ_(meas)=ρ_(meas)−ρ_(est)  (6)

[0035] where ρ_(est) is an N-element vector of the estimated pseudoranges derived from the initial position estimate and the initial clock offset estimate. After linearizing the vehicle pseudoranges around the initial estimate to determine Δρ_(meas), the processor applies the correction vectors δρ⁰-δρ^(M) to determine a set of M+1 N-element corrected measurement (or pseudorange) vectors Δρ⁰ _(meas)-Δρ^(M) _(meas). More precisely, Δρ⁰ _(meas), the main corrected measurement vector including correction information from all M ground receivers, is defined as

Δρ_(meas) ⁰=Δρ_(meas)+δρ⁰  (7)

[0036] and Δρ^(m) _(meas) is defined as

Δρ_(meas) ^(m)=Δρ_(meas)+δρ^(m)  (8)

[0037] where N-element correction vectors δρ⁰ and δρ^(m) follow the definitions of Eqns 3, 4, and 5.

[0038] In block 208, the processor determines a main position solution Δr₀, using the main corrected measurement vector Δρ⁰ _(meas). The processor may use any technique for solving a system of overdetermined algebraic equations, for example, weighted or non-weighted least-squares estimation. “Overdetermined” refers to the presence of redundant pseudoranges. The solution Δr₀, defined as the main position solution because it incorporates the correction information from all M ground receivers, is defined as

Δr ₀ =S ₀Δρ_(meas) ⁰  (9)

[0039] where S₀ is a 4×N weighted or non-weighted least-squares solution matrix.

[0040] Block 210 entails calculating several corrected subsolutions Δr₁, Δr₂, . . . Δr_(M), each based on a respective subset of the M differential corrections. In the exemplary embodiment, each subset includes only M−1 differential corrections, with the m-th subset excluding the correction data based on the m-th ground receiver. Thus, the m-th subsolution includes an average correction based on all but the m-th differential correction. The preference for excluding one ground reference receiver stems from the low likelihood that more than one of these receivers will ever fail or otherwise present an abnormal correction circumstance to the landing unit. However, if desirable, other embodiments can exclude corrections from more than one ground receiver. Similar to the main solution Δr₀, the m-th subsolution Δr_(m) is defined as

Δr _(m) =S _(m)Δρ_(meas) ^(m)  (10)

[0041] where S_(m) is a weighted or non-weighted 4×N least-square subsolution matrix.

[0042] In the exemplary embodiment, the main solution Δr₀ and the subsolutions Δr₁-Δr_(M) are four-element vector quantities with three elements representing respective runway, lateral, and vertical coordinates and a fourth element cΔt representing the distance related to the receiver clock offset, where c is the speed of light, and Δt is the receiver clock offset. The center of the runway-lateral-vertical (RLV) frame is the initial position estimate. (However, other initial position estimates can also be chosen.) Thus, the three RLV coordinates actually represent a position relative the initial position estimate because of the linearization of the governing equations around the initial estimate. Hence, to obtain an absolute position solution, the RLV coordinates must be added to the corresponding coordinates of the initial position estimate. However, as used herein, position solution broadly connotes any relative position or absolute position solution.

[0043] In block 212, the processor computes lateral separations b_(L1)-b_(LM) and vertical separations b_(V1)-b_(VM) based on respective mathematical distances between the main position solution Δr₀ and the respective subsolutions Δr₁-Δr_(M). The exemplary embodiment defines separations b_(L1)-b_(LM) as the respective lateral distance between the main solution Δr₀ and respective subsolutions Δr₁-Δr_(M). In the lateral direction relative the aircraft glide path, the distance b_(Lm) between subsolution Δr_(m) and main solution Δr₀ is

b _(Lm)={square root}{square root over ((Δr ₀(L)−Δr _(m)(L))²)}  (11)

[0044] where (L) denotes lateral components of the position solutions. Similarly, the exemplary embodiment defines the vertical separations b_(V1)-b_(VM) as the actual vertical distances between the main solution Δr₀ and respective subsolutions Δr₁-Δr_(M). In the vertical plane relative the aircraft glide path, the distance b_(Vm) between subsolution Δr_(m) and main solution Δr₀ is

b _(Vm)={square root}{square root over ((Δr ₀(V)−Δr _(m)(V))²)}  (12)

[0045] where the V denotes the vertical component of the main solution and the m-th subsolution. Operation then proceeds to block 214.

[0046] Block 214 entails determining lateral and vertical error parameters, A_(L1)-A_(LM) A_(V1)-A_(VM), based on the noise-induced errors in respective subsolutions Δr₁-Δr_(M). The noise-induced errors force each subsolution away from the actual position of vehicle receiver 130.

[0047] In determining the error parameters, the processor first calculates error covariance matrices P₁-P_(M) describing the statistics of the noise-induced errors for corresponding subsolutions Δr₁-Δr_(M). The m-th error covariance matrix P_(m) is defined as

P _(m) =E[δr _(m) δr _(m) ^(T)]  (13)

[0048] where δr_(m) represents the effect of noise on the m-th subsolution and is defined as

δr _(m) =S _(m) w,  (14)

[0049] where w is the M-dimensional measurement noise vector. E[ww^(T)] is defined as $\begin{matrix} {{E\left\lbrack {ww}^{T} \right\rbrack} = {\sigma_{{pr} - {air}}^{2} + {\frac{M}{M - 1}\sigma_{{pr} - {gnd}}^{2}}}} & (15) \end{matrix}$

[0050] where σ² _(pr) _(—) _(air) depends on the aircraft and σ² _(pr) _(—) _(gnd) is defined in the correction data from correction-data transmitter 120.

[0051] In the exemplary embodiment, processor 144 calculates matrices P₁-P_(M) from

P _(m) =S _(m) E[ww ^(T) ]S _(m) ^(T)  (16)

[0052] The exemplary implementation assumes the errors are zero-mean with Gaussian distribution. Thus, the subsolution errors are confined to corresponding ellipsoidal volumes in the RLV coordinate system. Each point within the region corresponds to a different possible error, with the center corresponding to zero error and the maximum error at either end.

[0053] After determining the covariance matrices, the processor determines the variances of the lateral and vertical errors. These variances are available from the diagonals of the covariance matrices P₁-P_(M). The variances define the spreads of the errors around the average errors, and thus control the magnitudes of the maximum lateral and vertical errors between the m-th subsolution Δr_(m) and the actual position. With the variances, the processor computes the lateral and vertical error parameters A_(L1)-A_(LM) and A_(V1)-A_(VM) using

A _(Vm) ={square root}{square root over (VAR_(Vm))} Q ⁻¹(P _(MD))  (17)

A _(Lm) ={square root}{square root over (VAR_(Lm))} Q ⁻¹(P _(MD))  (18)

[0054] where VAR_(Lm) and VAR_(Vm) denote the lateral and vertical variances from the m-th covariance matrix; P_(MD) is a given probability of missed detection; and Q⁻¹ denotes the inverse of $\begin{matrix} {{Q(x)} = {\frac{1}{\sqrt{2\pi}}{\int_{x}^{\propto}{^{- \frac{t^{2}}{2}}{t}}}}} & (19) \end{matrix}$

[0055] the well-known normalized cumulative distribution function. Some embodiments use missed-detection probabilites promulgated by the Federal Aviation Adminstration in RTCA publication DO-245.

[0056] In block 216, the processor determines a lateral and a vertical protection limit, using one or more of the lateral and vertical solution separations b_(L1)-b_(LM) and b_(V1)-b_(VM) and one or more of the lateral and vertical subsolution error parameters A_(L1)-A_(LM) and A_(V1)-A_(VM). In the exemplary embodiment, the process determines the lateral protection limit (LPL) according to

LPL=max{LPL _(H0) , LPL _(H1)}  (20)

[0057] where max denotes the maximum of the quantities in the brackets; LPL_(H0) is defined as $\begin{matrix} {{LPL}_{H0} = {\sqrt{{VAR}_{L0}}{Q^{- 1}\left( \frac{P_{ffMD}}{2} \right)}}} & (21) \end{matrix}$

[0058] and LPL_(H1) is defined as

LPL _(H1)=max{b _(Lm) +A _(Lm)} over m=1, M  (22)

[0059] VAR_(L0), the lateral variance of the error in the main position solution, is determined from the error covariance matrix for the main position solution. P_(ffMD) is a probability of fault-free missed detection, such as that defined in RTCA publication DO-245. Similarly, the exemplary embodiment determines the vertical protection limit (VPL) according to

VPL=max{VPL _(H0) , VPL _(H1)}  (23)

[0060] where VPL_(H0) is given by $\begin{matrix} {{VPL}_{H0} = {\sqrt{{VAR}_{V0}}{Q^{- 1}\left( \frac{P_{ffMD}}{2} \right)}}} & (24) \end{matrix}$

[0061] and VPL_(H1) is given by

VPL _(H1)=max{b _(Vm) +A _(Vm)} over m=1, M  (25)

[0062] VAR_(V0), the vertical variance of the error in the main position solution, is determined from the error covariance matrix for the main position solution.

[0063] Having determined the lateral and vertical protection limits, processor 144 executes block 218 which entails comparing them to respective predetermined lateral and vertical alarm limits LAL and VAL. If either the lateral protection limit or the vertical protection limits exceeds its alarm limit, the processor signals the aircraft cockpit, alerting the pilot or other predetermined system that the lateral or vertical protection limits is out of bounds. Optionally, if the actual lateral or vertical separations between the m-th solution Δr_(m) and the main position solution Δr₀ exceeds a threshold based on a selected probability of false detection, the processor sets a failure flag indicating a ground-receiver fault. However, in conventional LAAS, this failure detection is handled by the differential correction processor.

[0064] At block 220, after calculating the protection limits, the processor computes angular and/or linear course deviations based on the main position solution and the reference path to autopilot system 150. And, at block 222, the autopilot system automatically corrects or adjusts the glide path of the aircraft.

[0065] After executing block 220, the processor returns to block 202 to get new data from the vehicle receiver and new correction data to generate a new position solution, protection limits, and course deviations.

[0066] In sum, the first embodiment applies a unique solution-separation technique for determining protection limits of a differentially corrected position solution. Although the first embodiment explicitly operates only on present GPS measurement and correction data, in so-called “snapshot” fashion, its chief advantage is its unique suitability for Kalman filter implementations. Through the use of Kalman filters, the processor incorporates not only present measurement and correction data, but also past measurement and correction data into the integrity monitoring process. Moreover, Kalman filters enable the processor to incorporate inertial sensor data into the calculation of the position solutions and protection limits, as evidenced in the second embodiment.

[0067] Second Exemplary Embodiment

[0068]FIG. 3 shows a radio navigation system 300 which extends radio navigation system 100 of FIG. 1 with the addition of inertial reference unit 160 for providing inertial data to processor 144. The resulting combination constitutes a hybrid navigation system. In the exemplary embodiment, inertial reference unit 160, mounted to the aircraft (not shown), includes three accelerometers 162 a-162 c for measuring acceleration in three dimensions and three gyroscopes 164 a-164 c for measuring angular orientation, or attitude, relative a reference plane. Inertial reference unit 160 also includes inertial processor 166 which determines an inertial position solution r_(i), as for example a three-element vector in an earth-fixed reference frame.

[0069] Inertial processor 166, in the exemplary embodiment, also converts the acceleration data into raw acceleration vector a_(raw) and attitude data into raw angular velocity vector ω_(raw). The exemplary angular velocity vector defines the rotation of the body frame (fixed to the aircraft) in three dimensions, and the exemplary inertial acceleration defines the three components of acceleration in body frame coordinates. Inertial processor 166 also determines a transformation matrix C for transforming body frame coordinates to local vertical frame L, a three-element rotation vector ω_(IE) which describes rotation of the earth-based inertial frame I transformed to L frame, and rotation vector ω_(EL) which describes rotation of the earth-fixed frame E versus inertial frame I transformed to L frame. The details of this inertial processing are well known in the art.

[0070] At the heart of the exemplary Kalman filter implementation are the hybrid state vectors ΔX₀-ΔX_(M), each of which has (20+N) error states. ΔX₀ incorporates all of the differential corrections from the M ground receivers and ΔX_(m) excludes the m-th differential correction from the m-th ground receiver. More specifically, the m-th state vector ΔX_(m) is defined as

ΔX _(m) ^(T) =[ψ, Δv, Δr _(m) , Δrtc, Δvfc, Δω ₀ , Δa ₀, ν_(x), ν_(y) , g _(z) , Δe _(N)]  (26)

[0071] where

[0072] Ψ

Three-element attitude error vector;

[0073] Δv

Three-element velocity error vector;

[0074] Δr

Three-element hybrid position solution excluding m-th differential correction;

[0075] Δrtc

One-element receiver clock phase error expressed as a distance (analogous to cΔt in first embodiment);

[0076] Δvfc

One-element receiver clock frequency error expressed as a velocity;

[0077] Δω₀

Three-element vector of gyro biases modeled as first-order Markov processes with 100 hour-time constant;

[0078] Δa₀

Three-element vector of accelerometer biases modeled as first-order Markov processes with 100-hour time constant; and

[0079] ν_(x)

gravity deflection in east direction of north-east coordinate plane;

[0080] ν_(y)

gravity deflection in north direction of north-east coordinate plane;

[0081] g_(z)

gravity anomaly in z direction relative the north-east coordinate plane;

[0082] Δe_(N)

N-element smoothing-error state vector which compensates for correlation of the correction data that results from carrier smoothing.

[0083] (For clarity, the “m” subscripts are not shown on each state variable in ΔX_(m).) Thus, hybrid state vector ΔX₀-ΔX_(M) include respective position solutions Δr₀-Δr_(M), where the subscript again defines the excluded differential correction data. Note that Δr in the this embodiment includes only three spatial components, whereas in the first embodiment, it included three spatial components and cΔt, the distance associated with the receiver clock offset. The state vector ΔX identifies this variable as Δrtc. The exemplary embodiment orders the (20+N) state variables as shown; however, other greater or lesser numbers of state variables and other variable sequences are equally feasible.

[0084]FIG. 4 shows a flow chart 400 which illustrates the important operative aspects of the exemplary hybrid navigation system. The flow chart, similar to that in FIG. 2, includes process blocks 402-424. These blocks can not only be ordered, but are equally applicable to hardware, firmware, and software implementation. In some embodiments, the processor cycles through this process loop every 1-10 seconds.

[0085] In particular, the operation begins at block 402 when the processor retrieves inertial, vehicle receiver, and correction data. The exemplary embodiment retrieves the following inertial data from inertial reference unit 160:

[0086] inertial position solution r₁,

[0087] raw acceleration vector a_(raw),

[0088] raw angular velocity vector ω_(raw)

[0089] transformation matrix C,

[0090] rotation vector ω_(IE), and

[0091] rotation vector ω_(EL).

[0092] Other embodiments use other forms of equivalent raw or processed inertial data, such as estimated or predicted inertial data.

[0093] After retrieving this inertial data, the processor models the inertial error dynamics based on motion of the aircraft. This occurs within the context of a linearized inertial error model, which is referenced to local vertical coordinate frame L. This inertial error model defines an attitude error vector ψ, a velocity error vector Δv, and a hybrid position solution Δr, each stemming from the solution of the following three differential equations:

ψ=CΔω _(IB)+ψ×(ω_(IE)+ω_(EL))  (27)

[0094] $\begin{matrix} {{{\Delta \quad \overset{.}{v}} = {{\psi \times {Ca}_{raw}} + {C\quad \Delta \quad a_{IB}} + {\left( {{2\omega_{IE}} + \omega_{EL}} \right) \times \Delta \quad v} + {G\quad \Delta \quad r} + {\Delta \quad g}}}\quad} & (28) \end{matrix}$

 Δ{dot over (r)}=Δv+ω _(EL) ×Δr  (29)

[0095] where

[0096] Δω₀

Gyro biases modeled as first order Markov processes with a 100 hour time constant;

[0097] Δω_(IB)

Δω₀+scale factor and misalignment errors;

[0098] Δa₀

Accelerometer biases modeled as first order Markov processes with a 100 hour time constant;

[0099] Δa_(IB)

Δa₀+scale factor and misalignment errors;

[0100] Δg

Gravity deflections and anomaly (v_(x)g, v_(y)g, Δg_(z))

[0101] G is a 3×3 matrix defined as $\begin{matrix} {G = \begin{bmatrix} {{- {g(0)}}/R^{\lbrack 1\rbrack}} & 0 & 0 \\ 0 & {{- {g(0)}}/R^{\lbrack 1\rbrack}} & 0 \\ 0 & 0 & {2{{g(0)}/R^{\lbrack 2\rbrack}}} \end{bmatrix}} & (30) \end{matrix}$

[0102] where R denotes the radius of the earth, and g(0) denotes gravity at zero height. The superscripts [1] and [2] identify the specific terms affecting accuracy. In particular, [1] identifies the two gravity terms responsible for Schuler feedback, and [2] identifies the gravity term responsible for the vertical feedback.

[0103] In block 402, the processor also retrieves psuedoranges from vehicle receiver 130 and correction data from receiver 144. After retrieving the psuedoranges and correction data, the processor determines the number of pseudoranges N and the number of differential corrections M, before proceeding to block 404.

[0104] In block 404, the processor defines M+1 different N-element correction vectors δρ⁰-δρ^(M), based on the full set of N differential corrections for each ground receiver M. The full set of N differential corrections are derived from the M different B values and the average differential correction (from the correction-data tranmitter) for each of the N satellites. δρ⁰, the main correction vector, is defined as

δρ⁰=[δρ₁, δρ₂, . . . , δρ_(N)]^(T)  (31)

[0105] where each element δρ_(n) denotes a uniform or nonuniform weighted average of the differential corrections from all the ground receivers 1-M for the n-th satellite transmitter. δρ^(m) (for m=1 to M) is defined as

δρ^(m)=[δρ_(1, m), δρ_(2, m), . . . , δρ_(N, m)]^(T)  (32)

[0106] where element δρ_(n, m) is defined as a uniform or non-uniform weighted average of all but the m-th differential correction for the n-th satellite. Thus, as in the first embodiment, each element δρ_(n, m) excludes correction information from the m-th ground receiver.

[0107] At block 406, the processor applies the correction vectors δρ⁰-δρ^(M) to determine a set of (M+1) N-element corrected measurement (or pseudorange) vectors Δρ⁰ _(meas)(k)-Δρ^(M) _(meas)(k) linearized around the initial or previous position estimate. This first entails determining (M+1) N-element pseudorange residual vectors Δρ⁰(k)-Δρ^(M)(k), with the m-th pseudorange residual Δρ^(m)(k) defined as

Δρ_(meas) ^(m)(k)=ρ_(meas)(k)−ρ_(est) ^(m)(k)  (33)

[0108] In this equation, ρ_(meas) are the actual pseudorange measurements and ρ^(m) _(est)(k) are the estimated pseudoranges based on the previous m-th absolute hybrid subsolution r_(m)(k) and the receiver clock offset Δrtc_(m), with the subscript m denoting exclusion of the m-th pseudorange corrections from the vector. r_(m)(k), the m-th absolute hybrid subsolution, is defined as

r _(m)(k)=r _(i)(k)+Δr _(m) ^(E)(k)  (34)

[0109] where the supercript E denotes that the relative hybrid position solution Δr_(m) has been transformed from the L frame to the earth-fixed frame for addition to the inertial position solution r₁. In short, ρ^(m) _(est)(k) means an N-vector of pseudoranges which would yield r_(m)(k) as a position solution. Moreover, since ρ^(m) _(est)(k) depends on the inertial position solution r₁ and the measured pseudoranges ρ^(m) _(meas), Δρ^(m) _(meas)(k) includes both inertial and pseudorange information.

[0110] Defining the pseudorange residual relative the previous solution establishes a dynamic reference trajectory for the solutions. Kalman filters that rely on this kind of iteratively updated residual are known as extended Kalman filters. After linearizing the vectors around the ρ^(m) _(est)(k), the processor applies the correction vectors to each of the pseudorange residuals. Δρ⁰ _(meas), the main corrected measurement vector including correction information from all M ground receivers, is defined as

Δρ_(meas) ⁰=Δρ_(meas) ⁰+δρ⁰  (35)

[0111] and Δρ^(m) _(meas) is defined as

Δρ_(meas) ^(m)=Δρ_(meas) ^(m)+δρ^(m)  (36)

[0112] where N-element correction vectors δρ⁰ and δρ^(m) follow the definitions of equations 3, 4, and 5.

[0113] Blocks 408 and 410 respectively entail computing the main solution Δr₀(k) and subsolution Δr₁(k)-Δr_(M)(k). In the Kalman implementation, these solutions depend on the Kalman gain vectors. Thus, as part of the computations for these solutions, the processor first determines Kalman gain vectors g⁰ _(n)(k)-g^(M) _(n)(k) (one for each of the N satellites) for updating all the states of corresponding hybrid state vectors ΔX₀-ΔX_(M). Updating these state vectors also updates corresponding solution Δr₀(k) and subsolutions Δr₁(k)-Δr_(M)(k). The m-th Kalman gain vector g^(m) _(n)(k) is defined as $\begin{matrix} {{g_{n}^{m}(k)} = \frac{{P_{m}(k)}\quad h_{n}}{{h_{n}^{T}{P_{m}(k)}h_{n}} + r}} & (37) \end{matrix}$

[0114] In this relation, P_(m)(k) is the error covariance matrix for the m-th receiver, and h_(n) is a 1×(20+N) measurement matrix, which selects the combinations of error states incorporated in the m-th measurement. h_(n) is defined as

h _(n) ^(T)=[0₃ 0₃ −U _(n) 1 0 0₃ 0₃ 0 h _(e)]  (38)

[0115] where 0₃ is a three-element zero vector, and U_(n) is a 3-element line-of-sight, or unit direction, vector pointing from the m-th ground receiver to the n-th satellite. (The components of the line-of-sight vector are called direction cosines, in classical navigation geometry.) h_(e) is an N-element vector, such as (0, 0, . . . , 1, . . . , 0), which selects the associated smoothing error states that are involved in the GPS measurement, with all elements except the n-th one set to zero. The dimensions of h depend on the number of states in the Kalman filter. r is the carrier measurement noise variance and is defined as $\begin{matrix} {{r = {\frac{\sigma_{{cr} - {rec}}^{2}}{M} + \sigma_{{cr} - {air}}^{2}}}{{for}\quad {the}\quad {main}\quad {filter}\quad {and}}} & (39) \\ {{r = {\frac{\sigma_{{cr} - {rec}}^{2}}{M - 1} + \sigma_{{cr} - {air}}^{2}}}{{for}\quad {the}\quad {{subfilters}.}}} & (40) \end{matrix}$

[0116] In the Kalman gain equation, n ranges from 1 to N for each m=1 to M. This “n-loop” portion for determining the Kalman gain shows that this Kalman filter implementation follows a measurement-by-measurement approach, rather than a batch-processing approach. Although the two approaches are mathematically equivalent, the measure-by-measurement approach reduces the number of processor operations required for the Kalman filter calculations.

[0117] With the Kalman gain vectors, the processor can now update hybrid state vectors ΔX₀-ΔX_(M) and thereby determine the position solutions Δr₀(k)-Δr_(M)(k), as blocks blocks 408 and 410 indicate. The recursive updates follow:

ΔX ₀(k)=ΔX ₀(k)+g _(n) ⁰(k)[Δρ_(n) ⁰(k)−h _(n) ^(T) ΔX ₀(k)]  (41)

ΔX _(m)(k)=ΔX _(m)(k)+g _(n) ^(m)(k)[Δρ_(n) ^(m)(k)−h _(n) ^(T) ΔX _(m)(k)]  (42)

[0118] where Δρ_(n) ^(m)(k) are sequentially updated measurement vectors, with Δρ₁ ^(m)(k)=Δρ^(m) _(meas)(k). The update stems from the change in r_(m)(k) in each iteration, for n=1 to N.

[0119] After updating the hybrid state vectors ΔX₀-ΔX_(M), which include corresponding solutions Δr₀(k)-Δr_(M)(k), the processor determines the lateral and vertical separations, error parameters, and protection limits. As FIG. 4 shows this entails executing blocks 412, 414, and 416.

[0120] More particularly, in block 412, the processor computes lateral separations b_(L1)(k)-b_(LM)(k) and vertical separations b_(V1)(k)-b_(VM)(k). The exemplary embodiment defines separations b_(L1)(k)-b_(LM)(k) as

b _(Lm)(k)={square root}{square root over ((Δr ₀(L)−Δr _(m)(L))²)}  (43)

[0121] where (L) denotes lateral components of the position solutions and for convenience the temporal notation for the solution components has been omitted. Similarly, the exemplary embodiment defines the vertical separations b_(V1)(k)-b_(VM)(k) as

b _(Vm)(k)={square root}{square root over ((Δr ₀(V)−Δr _(m)(V))²)}  (44)

[0122] where the (V) denotes the vertical component of the main solution and the m-th subsolution and again the temporal notation has been omitted for convenience. Operation then proceeds to block 414.

[0123] In block 414, the processor determines the lateral and vertical error parameters A_(L1)(k)-A_(LM)(k) and A_(V1)(k)-A_(VM)(k) from error covariance matrices P₁(k)-P_(M)(k). The lateral and vertical parameters are defined as

A _(Lm)(k)={square root}{square root over (VAR _(Lm)(k))}Q ⁻¹(P _(MD))  (45)

A _(Vm)(k)={square root}{square root over (VAR _(Vm)(k))}Q ⁻¹(P _(MD))  (46)

[0124] where VAR_(Lm) and VAR_(Vm) denote the lateral and vertical variances from the m-th covariance matrix; P_(MD) is a given probability of missed detection; and Q⁻¹ denotes the inverse of the well-known normalized cumulative distribution function Q(x). The error covariance matrices P₁(k)-P_(M)(k), which define the statistics, including the lateral and vertical variances, of the corresponding subsolution errors, follow the recursive relation

P _(m)(k)=P _(m)(k)−g _(n) ^(m)(k)h _(n) ^(T) P _(m)(k)  (47)

[0125] where m ranges from 1 to M.

[0126] Then, in block 416, the processor uses the separation and the error parameters to compute the lateral and vertical protection limits LPL(k) and VPL(k) according to

LPL(k)=max{LPL _(H0)(k),LPL _(H1)(k)}  (48)

VPL(k)=max{VPL _(H0)(k), VPL _(H1)(k)}  (49)

[0127] which, except for the iterative notation, follow the same form and definitions as used in the first embodiment at Eqns. 20-25. However, because of the recursive derivation of the solutions Δr₀-Δr_(M), and more particularly, the error covariance matrices P₁(k)-P_(M)(k), the protection limits incorporate not only inertial data but also present and past GPS measurement and correction data.

[0128] Having determined the lateral and vertical protection limits, processor 144 executes block 418 which entails comparing them to respective predetermined lateral and vertical alarm limits LAL and VAL. If either the lateral protection limit or the vertical protection limits exceeds its alarm limit, the processor signals the aircraft cockpit, alerting the pilot of the integrity failure. Optionally, if the actual lateral or vertical separations between the m-th solution Δr_(m) and the main position solution Δr₀ exceeds a threshold based on a selected probability of false detection, the processor sets a failure flag indicating a ground-receiver fault.

[0129] At block 420, the processor computes angular and/or linear course deviations based on the main position solution and the reference path to autopilot system 140. In response, the autopilot system automatically corrects or adjust the glide path of the aircraft as indicated in block 422.

[0130] To complete the k-th iteration, the processor projects, or propagates, forward one iteration as indicated in step 424. This entails determining the next, or k+1^(th), hybrid state vectors ΔX₀(k+1) through ΔX_(M)(k+1) using

ΔX _(m)(k+1)=Φ(k)ΔX _(m)(k)  (50)

[0131] and estimating the k+1^(th) error covariance matrices P₀(k+1) through P_(M)(k+1) using

P _(m)(k+1)=Φ(k)P _(m)(k)Φ(k)^(T) +Q _(mm)(k)  (51)

[0132] In these relations, Φ(k) is the state transition matrix relating the k-th hybrid state vector to the next (k+1)-th estimate, according to the inertial dynamics defined by the linearized inertial error model of equations 27-29. And, Q_(mm)(k) is the noise covariance matrix given by

Q _(mm)(k)=E[v(k)v(k)^(T)]  (52)

[0133] where v(k) is the process noise vector which defines the noise in the inertial measurements.

[0134] In implementations which use carrier smoothing, the differential corrections will be strongly correlated and thus contradict a conventional Kalman filtering assumption that the observations, that is, measurement data such as the differential corrections, be uncorrelated. Thus, to compensate for the correlation that exists in these implementations, the exemplary embodiment extends the 20-state error vector with N additional error states Δe_(n) which estimate the smoothing error, that is, the error resulting from use of carrier smoothing. The smoothing filter is equivalent to a signal block that provides the correct pseudorange with carrier noise only summed with the smoothing error Δe_(n) obtained by filtering white noise through a first order linear filter with a 100 second time constant. One complication is that there are M+1 independent noise contributions, one from each of the M ground receivers and one from the correction-data receiver in the landing unit. Under normal conditions all M noise contributions have been filtered long enough (about 200 seconds) to assure convergence before they are used in the Kalman filters. The process noise q_(e) added to the smoothing error states should correspond to the received σ_(pr) _(—) _(grd).

[0135] The exemplary embodiment derives the process noise q_(e) as follows: $\begin{matrix} {{\Delta \quad {e\left( {k + 1} \right)}} = {{^{- \frac{T}{\tau}}\Delta \quad {e(k)}} + w}} & (53) \end{matrix}$

[0136] The variance update is (q_(e)=E[w²]) $\begin{matrix} {{p_{e}\left( {k + 1} \right)} = {{^{{- 2}\frac{T}{\tau}}{p_{e}(k)}} + q_{e}}} & (54) \end{matrix}$

[0137] In stationary (or slowly changing) conditions p_(e)(k+1)≈p_(e)(k), so that the process noise q_(e) is given by $\begin{matrix} {q_{e} = {\left( {1 - e^{{- 2}\frac{T}{\tau}}} \right)p_{e}}} & (55) \end{matrix}$

[0138] For the main filter, the noise variance is

p _(e)=σ_(pr) _(—) _(gnd) ²+σ_(pr) _(—) _(air) ²  (56)

[0139] And, for the subfilters, the noise variance is $\begin{matrix} {p_{e} = {{\frac{M}{M - 1}\sigma_{{pr} - {gnd}}^{2}} + \sigma_{{pr} - {air}}^{2}}} & (57) \end{matrix}$

[0140] When satellites are temporarily lost by the landing unit because of masking during maneuvers or interference, the exemplary embodiment restarts the smoothing filters. Generally, it will take up to 200 seconds before the satellite has converged in a standard LAAS. The filters of the exemplary embodiment will use the inertially propagated information and the other satellite measurements to restore the original accuracy. This mechanism will work regardless of how many satellites are lost. If all satellites are temporarily lost, the restoration is based entirely on inertially propagated information. Moreover, the integrity of guidance signal remains valid throughout this period.

[0141] After completing the update indicated at block 424, the process returns to block 402 to repeat the entire process loop shown in FIG. 4.

[0142] In sum, the second embodiment provides a simple Kalman-filter extension of the first embodiment, which incorporates not only inertial data but also present and past GPS measurement and correction data into the position solution and protection limit calculations. The past data effectively substitutes for any unavailable pseudorange measurement data that would otherwise prevent calculation of the protection limit, enabling the processor to compute the protection limit without interruption.

[0143] Moreover, the correction-data exclusion mechanism in the subfilters ensures that at least one subfilter, that is, subsolution, remains immune to failures or outages of ground receivers. Even if the failure occurs over a long time, the subfilter still provides a true reference for integrity monitoring. And, the incorporation of inertial data into the Kalman filters allows the landing unit to operate or coast through most, if not all, stemming from insufficient satellite or correction data.

Conclusion

[0144] In furtherance of the art, the inventor has presented unique ground-augmented radio navigation systems and methods which address reliability and continuity shortcomings of conventional ground-augmented GPS navigation and guidance systems. In particular, one embodiment computes a position solution based on GPS satellites and uses correction data from ground receivers to develop one or more position subsolutions. Separations or differences between the position solution and subsolutions and subsolution error variances are used to determine accuracy or protection limits. Another embodiment follows a similar methodology using Kalman filtering techniques to incorporate past and present inertial data and correction date into the solution and subsolution computations, thereby facilitating continued reliance on the system during loss of satellite or correction data.

[0145] Although the present invention has been described with reference to preferred embodiments, workers skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention. In particular, those in the art will recognize that a single processor could perform all the operations for implementing the invention or that multiple processors could share these operations. Moreover, the method itself could be divided over distinct functional unit other than those used for illustration here. Of course, other changes in form and detail are also within the spirit and scope of the invention as defined in the following claims. 

1. A navigation system for a vehicle, comprising: first receiving means for mounting to the vehicle and for receiving a plurality of signals from a plurality of satellite transmitters; ground means for determining differential corrections based on signals from the plurality of satellite transmitters; transmission means for transmitting correction data based on the differential corrections; second receiving means for mounting to the vehicle and for receiving the correction data; solution means for determining a position solution for the vehicle, based on the plurality of signals and the received correction data; subsolution means for determining a plurality of position subsolutions for the vehicle, with each position subsolution based on the plurality of signals and a portion of the received correction data; solution separation means for determining a plurality of separations, with each separation based on a difference between the position solution and a respective position subsolution; means for determining a protection limit based on at least one of the separations; and means for detecting a failure of the ground means based on at least one of the separations.
 2. A navigation system for a vehicle, comprising: first receiving means for mounting to the vehicle and for receiving a plurality of signals from a plurality of satellite transmitters; second receiving means for mounting to the vehicle and for receiving correction data; and solution means for determining a position solution for the vehicle, based on the plurality of signals and at least a first portion of the received correction data; subsolution means for determining a plurality of position subsolutions for the vehicle, with each position subsolution based on the plurality of signals and another portion of the correction data different from the first portion.
 3. A navigation system for a vehicle, comprising: receiving means for mounting to the vehicle and for receiving correction data; solution means for mounting to the vehicle and for determining a position solution for the vehicle, based on a plurality of pseudoranges and received correction data; and subsolution means for determining a one or more position subsolutions for the vehicle, with each position subsolution based on the plurality of pseudoranges and a respective portion of the received correction data.
 4. A system for a vehicle, comprising: solution means for determining a position solution for the vehicle, based on the plurality of pseudoranges and a plurality of differential pseudorange corrections; subsolution means for determining one or more position subsolutions for the vehicle, with each position subsolution based on the plurality of pseudoranges and a subset of the differential pseudorange corrections; solution separation means for determining one or more separations, with each separation based on a difference between the position solution and at least one of the position subsolutions; and means for determining a protection limit based on at least one of the separations.
 5. The system of claim 4 : wherein the solution means determines the position solution using a least-squares estimation; and wherein the subsolution means determines each position subsolution using a least-squares estimation.
 6. The system of claim 4 : wherein the solution means determines the position solution from past and present values of the pseudoranges and the differential pseudorange corrections; and wherein the subsolution means determines each position subsolution from past and present values of the pseudoranges and its respective subset of the pseudorange corrections.
 7. The system of claim 4 : wherein the solution means includes Kalman filtering means for determining the position solution from past and present values of the pseudoranges and the pseudorange corrections; and wherein the subsolution means includes Kalman filtering means for determining each position subsolution from past and present values of the pseudoranges and the subset of pseudorange corrections.
 8. The system of claim 4 further comprising: sensing means for sensing motion of the vehicle and providing motion data to the solution means and the subsolution means; wherein the solution means determines the position solution from the motion data and past and present values of the pseudoranges and pseudorange corrections; and wherein the subsolution means determines each position subsolution from the motion data and past and present values of its respective subset of the pseudorange corrections.
 9. The system of claim 8 wherein the sensing means includes: one or more accelerometers for providing acceleration data to the solution means and the subsolution means; and one or more gyroscopes for providing attitude data to the solution means and the subsolution means.
 10. A navigation system for a vehicle, comprising: a GPS receiver for determining a plurality of pseudoranges; a receiver for receiving a plurality of pseudorange corrections; a processor and software means operative on the processor for: determining a position solution based on the plurality of pseudoranges and the plurality of pseudorange corrections; determining one or more position subsolutions, with each position subsolution based on the plurality of pseudoranges and a portion of the differential pseudorange corrections; determining one or more separations, with each separation based on a difference between the position solution and at least one of the position subsolutions; and determining a protection limit based on at least one of the separations.
 11. The system of claim 10 , further including one or more inertial sensors for sensing motion of the vehicle and providing motion data to the processor, wherein the software means is further operative on the processor for determining the position solution and the position subsolutions based also on the motion data.
 12. A machine-readable medium comprising: means for determining a position solution for the vehicle, based on the plurality of pseudoranges and a plurality of differential pseudorange corrections; means for determining one or more position subsolutions for the vehicle, with each position subsolution based on the plurality of pseudoranges and a subset of the differential pseudorange corrections; means for determining one or more separations, with each separation based on a difference between the position solution and at least one of the position subsolutions; and means for determining a protection limit based on at least one of the separations.
 13. A machine-readable medium, comprising: means for determining a position solution for a vehicle, based on a plurality of pseudoranges and a plurality of pseudorange corrections; and means for determining a plurality of position subsolutions for the vehicle, with each position subsolution based on the plurality of pseudoranges and a subset of the plurality of pseudorange corrections.
 14. A method of determining a protection limit for a navigation or guidance system, comprising: determining a position solution based on the plurality of pseudoranges and a plurality of differential pseudorange corrections; determining one or more position subsolutions, with each position subsolution based on the plurality of pseudoranges and a portion of the differential pseudorange corrections; determining one or more separations, with each separation based on a difference between the position solution and at least one of the position subsolutions; and determining a protection limit based on at least one of the separations.
 15. A method of determining a protection limit for a navigation or guidance system, comprising: a step for determining a position solution based on the plurality of pseudoranges and a plurality of differential pseudorange corrections; a step for determining one or more position subsolutions, with each position subsolution based on the plurality of pseudoranges and a portion of the differential pseudorange corrections; a step for determining one or more separations, with each separation based on a difference between the position solution and at least one of the position subsolutions; and a step for determining a protection limit based on at least one of the separations.
 16. A method comprising: determining a position solution for a vehicle, based on a plurality of pseudoranges and a plurality of pseudorange corrections; and determining one or more position subsolutions for the vehicle, with each position subsolution based on the plurality of pseudoranges and a subset of the plurality of pseudorange corrections.
 17. A method comprising: a step for determining a position solution for a vehicle, based on a plurality of pseudoranges and a plurality of pseudorange corrections; and a step for determining one or more position subsolutions for the vehicle, with each position subsolution based on the plurality of pseudoranges and a subset of the plurality of pseudorange corrections.
 18. A method comprising: determining a position solution for a vehicle, based on a plurality of pseudoranges, a plurality of pseudorange corrections, and inertial sensory data; and determining one or more position subsolutions for the vehicle, with each position subsolution based on the plurality of pseudoranges, a subset of the plurality of pseudorange corrections, and inertial sensory data.
 19. A method of operating and monitoring a differential position measurement system for a vehicle, the method comprising: determining a position solution for the vehicle, based on past and present values of a plurality of pseudoranges, past and present values of a plurality of pseudorange corrections, and past and present values of vehicle motion data; determining one or more position subsolutions for the vehicle, with each position subsolution based on the past and present values of pseudoranges, past and present values of the pseudorange corrections, and past and present values of the vehicle motion data; and determining one or more protection limits based on the position solution and one or more of the position subsolutions. 